from otree.api import *

doc = """
投资者行为实验
"""


class C(BaseConstants):
    NAME_IN_URL = 'gfs'
    PLAYERS_PER_GROUP = None
    NUM_ROUNDS = 1
    TABLE_STYLE = """
<style>
img {
  width: auto;
  height: 300px;
}
  /* 设置整个表格的样式 */
  table {
    width: 100%; /* 表格宽度 */
    border-collapse: collapse; /* 合并边框 */
    margin: 50px 0; /* 外边距 */
    font-size: 0.9em; /* 字体大小 */
    font-family: sans-serif; /* 字体 */
    min-width: 400px; /* 最小宽度 */
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.15); /* 阴影效果 */
  }

  /* 设置表头的样式 */
  th {
    background-color: #4286f4; /* 背景颜色 */
    color: white; /* 文字颜色 */
    text-align: left; /* 文字对齐 */
    padding: 12px 15px; /* 内边距 */
  }

  /* 设置表格标题的样式 */
  caption {
    padding: 10px; /* 内边距 */
    caption-side: bottom; /* 标题位置 */
    color: #888; /* 文字颜色 */
    font-size: 1em; /* 字体大小 */
    margin-top: 12px; /* 上边距 */
  }

  /* 设置单元格的样式 */
  td {
    background-color: #f7f7f7; /* 背景颜色 */
    color: #333; /* 文字颜色 */
    text-align: left; /* 文字对齐 */
    padding: 12px 15px; /* 内边距 */
  }

  /* 设置奇数行的背景颜色 */
  tr:nth-child(even) {
    background-color: #e7e7e7;
  }

  /* 设置鼠标悬停时的行样式 */
  tr:hover {
    background-color: #f1f1f1;
  }

  /* 设置表格边框 */
  th, td {
    border: 1px solid #ddd; /* 边框颜色 */
  }
</style>
    """


class Subsession(BaseSubsession):
    pass


class Group(BaseGroup):
    pass


class Player(BasePlayer):
    q1 = models.StringField(choices=["股票市场每天开始交易时的第一笔交易价格",
                                     "股票市场每天结束时的最后一笔交易价格",
                                     "股票在一天交易中的平均价格",
                                     "股票的历史最高价格"], label="股票市场的“开盘价”是指?", widget=widgets.RadioSelect)
    q2 = models.StringField(choices=["股市长期下跌",
                                     "股市短时间内剧烈波动",
                                     "股市长期上涨",
                                     "股市交易量非常小"], label="股票市场的“牛市”通常是指?", widget=widgets.RadioSelect)

    q3 = models.StringField(choices=["预测股票价格上涨并购买股票",
                                     "预测股票价格下跌并卖出股票",
                                     "预测股票价格下跌并借入股票卖出",
                                     "长期持有股票以获取股息"], label="在股市“卖空”是指？", widget=widgets.RadioSelect)
    q4 = models.StringField(choices=["1股",
                                     "10股",
                                     "100股",
                                     "1000股"], label="中国A股市场“一手”通常等于多少股？", widget=widgets.RadioSelect)
    q5 = models.StringField(choices=["锁定最大亏损",
                                     "锁定最大盈利",
                                     "增加投资杠杆",
                                     "预测市场走势"], label="在股票市场中“止损”是一种用来做什么的策略？",
                            widget=widgets.RadioSelect)


# PAGES
class Start(Page):
    pass


class Question(Page):
    form_model = 'player'
    form_fields = ['q1',  'q3', 'q4', ]


page_sequence = [
    Start,
    Question,
]
